perm filename SPOOLC[E,ALS] blob sn#150331 filedate 1975-03-20 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	SPOOLC
C00006 ENDMK
CāŠ—;
;SPOOLC
SPOOLC:	OUTSTR [ASCIZ /
This command has not yet been implemented.  The intent is to provide
a fast way to spool a single page of a large file without leaving ETV.
/]
	AOS(P)
	POPJ P,

EXTERN	SPOOLX,SPL%CN

IMPURE
SPOOLD:	BLOCK 21

PURE
	MOVE T,EDFIL
	MOVEM T,SPOOLD+7	;Start with first cha. of real name
	MOVE T,CURPAG
	MOVE A,[POINT 6,SPOOLD+7,5]	;Use 1 character of name
	PUSHJ P,NUMSIX			;Add the page number
	MOVEI TT,'$'
	SKIPA
	IDPB TT,A
	TLNE A,760000
	JRST .-2		;Fill out with '$' characters
	MOVEI T,'LPT'
	HRLZM T,SPOOLD+10	;Six-bit file extension of source
	SETZM SPOOLD+11
	MOVEI T,'SPLLPT'
	MOVEM T,SPOOLD+12	;Six-bit PPN of file 
	MOVE T,EDFIL
	MOVEM T,SPOOLD+13	;Alias name in six-bit
	MOVE T,EDFIL+1
	HRLZM T,SPOOLD+14	;Alias extension in six-bit
	MOVE T,EDFIL+2
	MOVEM T,SPOOLD+15	;Alias PPN in six-bit
	MOVE T,CURPAG
	HRLM T,SPOOLD+16	;Page number in left half
	MOVEI T,21
	HRRM T,SPOOLD+16	;Flags to print headings and delete file
	SETZM SPOOLD+17
	SETZM SPOOLD+20


	MOVE TT,20		;Limit times to try
SPOOLL:	LOOKUP 17,SPOOLD+7
	JRST SPOOLW		;Safe to use this name
	CLOSE 17,
	MOVEI T,1
	ADDM T,SPOOLD+7
	SOJP TT,SPOOLL
SPOOLE:	OUTSTR [ASCIZ /
Something is wrong with the spooler. Try again later.
/]
	AOS (P)
	POPJ P,

SPOOLW:	ENTER 17,SPOOLD+7
	JRST SPOOLE




	PUSHJ P,SPALL
	JUMP SPOOLD